# 聊天接口模型

from langchain.schema import AIMessage, HumanMessage, SystemMessage
from langchain_openai import ChatOpenAI
from openaiConfigurations import openai_api_key, openai_api_base

chat = ChatOpenAI(temperature=0, openai_api_key = openai_api_key, openai_api_base = openai_api_base)
# call方法
response = chat.invoke([HumanMessage(content = "把这句话从汉语翻译成英语：我喜欢编程。")])
print(response)

# 注意模型接收的是信息列表
messages = [
    SystemMessage(content = "你是一个能把汉语翻译成英语的助手"),
    HumanMessage(content = "我喜欢编程。")
]
# print(chat(messages).content) 这种方法在1.0版本会废弃，使用下面的方法即可
print(chat.invoke(messages).content)

# generate()方法
batch_messages = [
    [
        SystemMessage(content = "你是一个可以把汉语翻译成语言的助手。"),
        HumanMessage(content = "我喜欢编程。")
        
    ],
    [
        SystemMessage(content = "你是一个可以把汉语翻译成语言的助手。"),
        HumanMessage(content = "我爱人工智能")
    ],
]

# chat.generate(batch_messages)
result = chat.generate(batch_messages)
print(result.llm_output)
